package com.xiaoquan.gulimall.search.controller;

import com.xiaoquan.common.exception.BizCodeEnums;
import com.xiaoquan.common.to.es.SkuEsModel;
import com.xiaoquan.common.utils.R;
import com.xiaoquan.gulimall.search.service.ProductSaveService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @authro dxq
 * @date 2021年06月21日 20:53
 */
@Slf4j
@RequestMapping("/search/save")
@RestController
public class ElasticSaveController {
    @Autowired
    ProductSaveService productSaveService;

    // 上架商品
    @PostMapping("/product")
    public R productStatusUp(@RequestBody List<SkuEsModel> skuEsModels){

        boolean b = false;
        try {
             b = productSaveService.productStatusUp(skuEsModels); // 这才是商品上架出现的错误 提示
        }catch (Exception e){ // 有可能es连接错误 并不代表上架错误
            log.error("ElasticSaveController商品上架出现了错误 原因：{}",e);
            return R.error(BizCodeEnums.PRODUCT_UP_EXCEPTION.getCode(),BizCodeEnums.PRODUCT_UP_EXCEPTION.getMsg());
        }

        if (!b){
            return R.ok();
        }else {
            return R.error(BizCodeEnums.PRODUCT_UP_EXCEPTION.getCode(),BizCodeEnums.PRODUCT_UP_EXCEPTION.getMsg());
        }



    }

}
